import vue               from "@vitejs/plugin-vue"
import { vitePluginSvg } from "@webxrd/vite-plugin-svg"
import { resolve }       from "path"

const pathResolve = (dir) => {
    return resolve(__dirname, ".", dir)
}

const alias = {
    "@": pathResolve("src"),
}

/**
 * @description-en vite document address
 * @description-cn vite官网
 * https://vitejs.cn/config/ */
export default ({ command }) => {
    return {
        base: "./",
        
        resolve: {
            alias,
        },
        
        server: {
            port   : 3001,
            host   : "0.0.0.0",
            open   : true,
            "^/api": {
                target      : "http://localhost:18080",
                changeOrigin: true,
                ws          : true,
            },
        },
        
        build  : {
            rollupOptions: {
                output: {
                    manualChunks: {
                        "echarts": [ "echarts" ],
                    },
                },
            },
        },
        plugins: [
            vue(),
            vitePluginSvg({
                // 必要的。必须是绝对路径组成的数组。
                iconDirs: [
                    resolve(__dirname, "src/assets/svg"),
                ],
                // 必要的。入口script
                main          : resolve(__dirname, "src/main.js"),
                symbolIdFormat: "icon-[name]",
            }),
        ],
        css    : {
            postcss: {
                plugins: [
                    {
                        postcssPlugin: "internal:charset-removal",
                        AtRule       : {
                            charset: (atRule) => {
                                if(atRule.name === "charset"){
                                    atRule.remove()
                                }
                            },
                        },
                    },
                ],
            },
        },
    }
}
